e.Toscana Compliance
Request for Comments:
Del: 1/12/2009
Categoria: Applicativa
Destinatari: Fruitori ed Erogatori del Servizio di Utility Computing
Autori: Fabio Lanzi, Rudy Becarelli, Roberto Caldelli (MICC - Media Integration 
and Communication Center - Universit di Firenze)

RFC Progetto Utility Computing

Abstract
--------- 
Il progetto "Utility Computing"  finalizzato alla creazione di una architettura
in grado di erogare servizi di elaborazione e storage distribuito.
Fra i servizi messi a disposizione, sono presenti quelli legati alla 
realizzazione degli obiettivi del progetto "ST@rT".

Indice
-------
1. Contesto di riferimento ed obiettivi
1.1. Progetto ST@rT
2. Integrazione dei sistemi informativi
3. Soggetti dell'architettura
4. Formato richieste/risposte
5. Casi d'uso
5.1. Applicazione di un filtro mediano - "Web Client"
5.2. Pubblicazione diretta di metadati su Digital Library - "Web Client"
5.3. Conversione e Pubblicazione di metadati su Digital Library - "Web Client"
5.4. Applicazione di un filtro mediano - "CART Client"
5.5. Pubblicazione diretta di metadati su Digital Library - "CART Client"
5.6. Conversione e Pubblicazione di metadati su Digital Library - "CART Client"


1. Contesto di riferimento ed obiettivi
---------------------------------------
Il contesto in cui si colloca il progetto "Utility Computing"  quello della 
realizzazione di servizi di elaborazione distribuiti, il cui 
accesso  riservato agli afferenti all'infrastruttura CART.
Fra i servizi a disposizione ci sono quelli funzionali alla realizzazione degli
obiettivi del progetto "St@rt - Scienze e Tecnologie per il patrimonio Artistico 
architettonico ed archeologico Toscano".
L'obiettivo del progetto progetto "Utility Computing"  la creazione di una 
architettura volta alla fornitura di servizi a complessit e disponibilit variabile
L'architettura prevede una duplice porta di accesso: la prima  disponibile 
attraverso una applicazione web, la seconda  dedicata agli enti afferenti 
all'infrastruttura di Regione Toscana CART.
Le tipologie di servizi potenzialmente disponibili sono modellate attraverso 
tre macrocategorie:
- elaborazione delle immagini
- elaborazione di metadati
- pubblicazione di documenti in una Digital Library
Per ciascuna categoria  implementato almeno un servizio.
Si definisce "servizio" l'unit di elaborazione indivisibile gestita dal Progetto 
Utility Computing .
Si definisce "procedura" la composizione di "servizi" volta alla realizzazione 
di funzionalit di elaborazione complesse. 
Il progetto prevede l'implementazione di un centro servizi ("CniDiCo") in grado 
di esporre le procedure disponibili sia agli utenti CART che a quelli web e 
gestirne dinamicamente la complessit realizzativa e la disponibilit.
L'architettura del progetto permette di scalare la complessit delle procedure 
al variare del numero e delle caratteristiche dei servizi associati a CniDiCo.
La duplicazione delle porte di accesso consente una molteplicit di vantaggi:
- la personalizzazione delle funzionalit disponibili 
- l'isolamento tra le tipologie di utenti
- lo sfruttamento delle caratteristiche della rete CART per la consegna 
automatica dei dati

1.1 Progetto ST@rT
----------------------
STArT (Scienze e Tecnologie per il patrimonio Artistico architettonico ed 
archeologico Toscano)  un progetto di ricerca che ha come obiettivo principale 
lo sviluppo coordinato delle molte competenze residenti in Toscana nei settori 
della scienza e delle tecnologie innovative per i beni culturali, favorito da un 
contesto di collaborazione multidisciplinare fra centri di ricerca, universit 
ed enti di tutela e di restauro, che nel recente passato ha consentito, 
attraverso ripetuti percorsi di collaborazione multilaterale, il raggiungimento 
di una eccellenza scientifica oggi riconosciuta a livello nazionale ed 
internazionale. 

2. Integrazione dei sistemi informativi
---------------------------------------
L'integrazione fra i sistemi informativi presenti nell'architettura in oggetto 
 fondata sull'impiego dell'infrastruttura CART di Regione Toscana.
CART (Cooperazione Applicativa della Regione Toscana) abilita la cooperazione 
tra gli afferenti e rappresenta un elemento qualificante dell'intero progetto.
Le interazioni fra gli implementatori dei servizi applicativi e il centro 
servizi avvengono, in assenza di esigenze specifiche, attraverso l'uso del 
servizio di Integration Manager delle Porte di Dominio (PdD).
In caso di necessit,  prevista la possibilit di interfacciare provider di 
servizi mediante proxy trasparente.
I servizi sono messi a disposizione degli utenti da parte del centro servizi, al 
quale  possibile accedere esclusivamente mediante Integration Manager. 

3. Soggetti dell'architettura
-----------------------------
La terminologia specifica adottata fa riferimento a quella relativa a CART.
Si rimanda, pertanto, alle RFC relative per una descrizione pi accurata.

Soggetti:
Centro servizi:
- SIL "CniDiCo":  il centro servizi dell'architettura, e si configura come 
aggregatore di varie procedure su servizi, gestisce le code delle richieste e 
dei risultati delle elaborazioni. E' l'elemento cardine e imprescindibile 
dell'architettura progettuale. Espone una porta web per l'accesso diretto ai 
servizi, ed una porta per l'utilizzo dei servizi specificamente dedicati agli 
utenti dell'infrastruttura CART 

Modelli di accesso ai servizi:
- "Web Client": identifica una interfaccia che espone le funzionalit di 
elaborazione integrate da CniDiCo; 
l'accesso ai servizi  condizionato all'accreditamento presso CniDiCo.
L'utente che accede ai servizi in questa modalit non riceve direttamente i 
risultati delle elaborazioni, ma solamente una notifica del loro esito.
I risultati sono conservati presso CniDiCo, e possono essere recuperati 
attraverso "Web Client" mediante accesso condizionato.
- SIL "CART Client": identifica il terminale CART dal quale un utente pu avere 
accesso ai servizi di elaborazione esposti da"CniDiCo" e riservati ai soli 
utenti CART. I servizi richiesti in questa modalit presuppongono 
inderogabilmente che i risultati della elaborazione vengano automaticamente 
notificati via CART al SIL richiedente.

Modelli degli erogatori dei servizi:
I fornitori di servizi sono connessi via CART. Per ciascuna macrocategoria 
descritta al punto 1.  connesso all'infrastruttura almeno un SIL che implementa 
il relativo servizio:
- SIL "ImageProcessing":  un soggetto deputato alla fornitura di servizi 
dedicati alla elaborazione di immagini;
- SIL "Xwalker":  un soggetto deputato alla fornitura di servizi 
dedicati alla elaborazione di metadati relativi ad opere d'arte e beni culturali 
in genere;
- SIL "DSpace": offre un servizio di Digital Library che pu esporre i risultati 
delle elaborazioni, forniti attraverso l'infrastruttura CART.


4. Formato richieste/risposte
-----------------------------
Le richieste di servizio, cos come i risultati delle elaborazioni, sono redatte 
attraverso documenti XML opportunamente formalizzati e incapsulati nella busta 
eGov.
I file sui quali devono essere effettuate le elaborazioni transitano all'interno 
dell'infrastruttura CART come attachment della busta eGov.

5. Casi d'uso
---------------
I casi 5.1, 5.2, 5.4 e 5.5 rappresentano esempi di procedure costituite da un 
solo servizio.
I casi d'uso 5.3 e 5.6 illustrano una procedura costituita dall'aggregazione di 
due servizi.
Sono modellati unicamente scenari in cui sia disponibile un solo SIL per servizio.
Nel caso in cui per ogni servizio esistano pi provider, CniDiCo effettua un 
bilanciamento automatico del carico di lavoro di ogni SIL.

5.1 Applicazione di un filtro mediano - "Web Client"
----------------------------------------------------
Attori:
1 - "Web Client"
2 - SIL "ImageProcessing"
3 - SIL "CniDiCo"
Precondizione 1: gli attori 2 e 3 sono connessi alla rete CART, l'interfaccia 
"Web Client"  attiva;
Precondizione 2: il SIL CniDiCo espone un servizio di elaborazione immagini;
a) il SIL "CniDiCo" espone attraverso l'interfaccia web "Web Client" una lista 
di servizi. 
L'utente, previa autenticazione, seleziona l'elaborazione di una immagine mediante 
applicazione di un filtro mediano. A seguito della scelta il "Web Client" 
compila una richiesta del tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <sender>
        <name>utente</name>
	<pwd>password</pwd>
    </sender>
    <operation name="medianfiltering">
        <parameter number="1">lena.jpg</parameter>
        <parameter number="2">3</parameter>
    </operation>
</request>

Il parametro "1" identifica il nome dell'immagine da processare, il parametro 
"2"  relativo alla procedura richiesta. La lista dei parametri  funzionale al 
servizio.
La richiesta  inoltrata al SIL "CniDiCo"
b) il SIL "CniDiCo" controlla l'autenticit dell'utente, riceve la richiesta, la 
prende in consegna e assegna un identificatore alla stessa, che viene associato 
all'account dell'utente;
c) il SIL "CniDiCo" assegna la richiesta di elaborazione al SIL 
"ImageProcessing" e inoltra i dati necessari per sua corretta gestione; il SIL 
"ImageProcessing" non conosce il mittente della richiesta;
d) il SIL "ImageProcessing" riceve la richiesta, esegue l'elaborazione e 
restituisce i risultati dell'elaborazione al SIL "CniDiCo".
e) il SIL "CniDiCo" riceve i risultati dell'elaborazione, li memorizza, e 
opzionalmente notifica la presenza degli stessi via email all'utente.
L'utente, previa autenticazione, potr accedere ai risultati dell'elaborazione 
attraverso l'interfaccia "Web Client".

5.2 Pubblicazione diretta di metadati su Digital Library - "Web Client"
-----------------------------------------------------------------------
Attori:
1 - "Web Client"
2 - SIL "DSpace"
3 - SIL "CniDiCo"
Precondizione 1: gli attori 2 e 3 sono connessi alla rete CART, l'interfaccia 
"Web Client"  attiva;
Precondizione 2: il SIL CniDiCo espone un servizio di pubblicazione metadati;

a) il SIL "CniDiCo" espone attraverso l'interfaccia web "Web Client" una lista 
di servizi.  
L'utente seleziona la pubblicazione di metadati su Digital Library. 
A seguito della scelta il "Web Client" compila una richiesta del 
tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <sender>
        <name>utente</name>
	<pwd>password</pwd>
    </sender>
    <operation name="dspacepublishing">
        <parameter number="1">model3d.xml</parameter>
        <parameter number="2">http://www.abcde.it/models/model1.html</parameter>
    </operation>
</request>

b) il SIL "CniDiCo" controlla l'autenticit dell'utente, riceve la richiesta, la 
prende in consegna e assegna un identificatore alla stessa, che viene associato 
all'account dell'utente;
c) il SIL "CniDiCo" assegna la richiesta di pubblicazione al SIL 
"DSpace" e inoltra i dati necessari per sua corretta gestione; 
d) il SIL "DSpace" riceve la richiesta, esegue la pubblicazione e 
restituisce ricevuta dell'esito della pubblicazione al SIL "CniDiCo".
e) il SIL "CniDiCo" riceve i risultati dell'elaborazione, li memorizza, e 
opzionalmente notifica la presenza degli stessi via email all'utente.
L'utente, previa autenticazione, potr accedere ai risultati dell'elaborazione 
attraverso l'interfaccia "Web Client".

5.3 Conversione e Pubblicazione di metadati su Digital Library "Web Client"
---------------------------------------------------------------------------
Attori:
1 - "Web Client"
2 - SIL "DSpace"
3 - SIL "CniDiCo"
4 - SIL "Xwalker"
Precondizione 1: gli attori 2, 3 e 4 sono connessi alla rete CART, 
l'interfaccia "Web Client"  attiva;
Precondizione 2: il SIL CniDiCo espone una procedura di conversione e 
pubblicazione di metadati;

a) il SIL "CniDiCo" espone attraverso l'interfaccia web "Web Client" una lista 
di servizi.   
L'utente seleziona la pubblicazione di metadati, in formato "oa" 
su Digital Library. A seguito della scelta il "Web Client" compila una 
richiesta del tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <sender>
        <name>utente</name>
	<pwd>password</pwd>
    </sender>
    <operation name="dspacepublishing_from_oa">
        <parameter number="1">oa.xml</parameter>
        <parameter number="2">http://www.de.it/previews/prev_1.html</parameter>
    </operation>
</request>

b) il SIL "CniDiCo" controlla l'autenticit dell'utente, riceve la richiesta, la 
prende in consegna e assegna un identificatore alla stessa, che viene associato 
all'account dell'utente;
c) il SIL "CniDiCo" assegna la richiesta di conversione al SIL 
"Xwalker" e inoltra i dati necessari per la sua corretta gestione; 
d) il SIL "Xwalker" riceve la richiesta, esegue la conversione e 
restituisce i metadati convertiti al SIL "CniDiCo";
e) il SIL "CniDiCo" riceve i metadatadi convertiti, invia la richiesta di 
pubblicazione al SIL "DSpace" e inoltra i dati necessari per sua corretta gestione;
f) il SIL "DSpace" riceve la richiesta, esegue la pubblicazione e 
restituisce ricevuta dell'esito della pubblicazione al SIL "CniDiCo".
g) il SIL "CniDiCo" riceve i risultati dell'elaborazione, li memorizza, e 
opzionalmente notifica la presenza degli stessi via email all'utente.
L'utente, previa autenticazione, potr accedere ai risultati dell'elaborazione 
attraverso l'interfaccia "Web Client".



5.4 Applicazione di un filtro mediano - "CART Client"
-----------------------------------------------------
Attori:
SIL "CART Client"
SIL "ImageProcessing"
SIL "CniDiCo"
Precondizione 1: gli attori sono connessi alla rete CART.
Precondizione 2: il SIL CniDiCo espone un servizio di elaborazione immagini;
a) il SIL "CniDiCo" espone al SIL "CART Client" una lista di servizi. 
L'utente seleziona l'elaborazione di una immagine mediante 
applicazione di un filtro mediano. A seguito della scelta il SIL "CART Client" 
compila una richiesta del tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <operation name="medianfiltering">
        <parameter number="1">lena.jpg</parameter>
        <parameter number="2">3</parameter>
    </operation>
</request>

Il parametro "1" identifica il nome dell'immagine da processare, il parametro 
"2"  relativo alla procedura richiesta. La lista dei parametri  funzionale al 
servizio.
La richiesta  inoltrata al SIL "CniDiCo"
b) il SIL "CniDiCo" riceve la richiesta, la prende in consegna e assegna un 
identificatore alla stessa, che viene comunicato anche al SIL "CART Client";
c) il SIL "CniDiCo" assegna la richiesta di elaborazione al SIL 
"ImageProcessing" e inoltra i dati necessari per sua corretta gestione; il SIL 
"ImageProcessing" non conosce il mittente della richiesta;
d) il SIL "ImageProcessing" riceve la richiesta, esegue l'elaborazione e 
restituisce i risultati dell'elaborazione al SIL "CniDiCo".
e) il SIL "CniDiCo" invia i risultati dell'elaborazione al SIL "CART Client"

5.5 Pubblicazione diretta di metadati su Digital Library - "CART Client"
------------------------------------------------------------------------
Attori:
SIL "CART Client"
SIL "DSpace"
SIL "CniDiCo"
Precondizione 1: gli attori sono connessi alla rete CART.
Precondizione 2: il SIL CniDiCo espone un servizio di pubblicazione metadati;

a) il SIL "CniDiCo" espone al SIL "CART Client" una lista di servizi. 
L'utente seleziona la pubblicazione di metadati su Digital Library. 
A seguito della scelta il SIL "CART Client" compila una richiesta del 
tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <operation name="dspacepublishing">
        <parameter number="1">model3d.xml</parameter>
        <parameter number="2">http://www.abcde.it/models/model1.html</parameter>
    </operation>
</request>

b) il SIL "CniDiCo" riceve la richiesta, la prende in consegna e assegna un 
identificatore alla stessa, che viene comunicato anche al SIL "CART Client";
c) il SIL "CniDiCo" assegna la richiesta di pubblicazione al SIL 
"DSpace" e inoltra i dati necessari per sua corretta gestione; 
d) il SIL "DSpace" riceve la richiesta, esegue la pubblicazione e 
restituisce ricevuta dell'esito della pubblicazione al SIL "CniDiCo".
e) il SIL "CniDiCo" comunica l'esito della pubblicazione al SIL "CART Client"

5.6 Conversione e Pubblicazione di metadati su Digital Library - "CART Client"
------------------------------------------------------------------------------
Attori:
SIL "CART Client"
SIL "DSpace"
SIL "CniDiCo"
SIL "Xwalker"
Precondizione 1: gli attori sono connessi alla rete CART.
Precondizione 2: il SIL CniDiCo espone una procedura di conversione e 
pubblicazione di metadati;

a) il SIL "CniDiCo" espone al SIL "CART Client" una lista di servizi.  
L'utente seleziona la pubblicazione di metadati, in formato "oa" 
su Digital Library. A seguito della scelta il SIL "ServiceUser" compila una 
richiesta del tipo seguente:

<?xml version="1.0" encoding="UTF-8"?>
<request>
    <operation name="dspacepublishing_from_oa">
        <parameter number="1">oa.xml</parameter>
        <parameter number="2">http://www.de.it/previews/prev_1.html</parameter>
    </operation>
</request>

b) il SIL "CniDiCo" riceve la richiesta, la prende in consegna e assegna un 
identificatore alla stessa, che viene comunicato anche al SIL "CART Client";
c) il SIL "CniDiCo" assegna la richiesta di conversione al SIL 
"Xwalker" e inoltra i dati necessari per la sua corretta gestione; 
d) il SIL "Xwalker" riceve la richiesta, esegue la conversione e 
restituisci metadati convertiti al SIL "CniDiCo";
e) il SIL "CniDiCo" riceve i metadatadi convertiti, invia la richiesta di 
pubblicazione al SIL "DSpace" e inoltra i dati necessari per sua corretta gestione;
f) il SIL "DSpace" riceve la richiesta, esegue la pubblicazione e 
restituisce ricevuta dell'esito della pubblicazione al SIL "CniDiCo".
g) il SIL "CniDiCo" comunica l'esito dell'procedura di conversione e 
pubblicazione al SIL "CART Client"

